package com.atguigu.gmall.product.service;

import com.atguigu.gmall.product.model.SkuInfo;
import com.atguigu.gmall.product.model.SpuSaleAttr;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.math.BigDecimal;
import java.util.List;

public interface SkuManageService {

    /**
     * 根据销售属性id查询销售属性集合
     * @param spuId
     * @return
     */
    List<SpuSaleAttr> getSpuSaleAttrList(Long spuId);

    /**
     * 保存Sku集合
     * @param skuInfo
     * @return
     */
    void saveSkuInfo(SkuInfo skuInfo);

    /**
     * 根据分类id查sku列表并分页
     * @param infoPage
     * @param category3Id
     * @return
     */
    Page<SkuInfo> getSkuListById(Page<SkuInfo> infoPage, Long category3Id);

    /**
     * 上架
     * @param skuId
     */
    void onSale(Long skuId);

    /**
     * 下架
     * @param skuId
     */
    void cancelSale(Long skuId);

    /**
     * 根据skuId查商品信息包含图片列表
     * @param skuId
     * @return
     */
    SkuInfo getSkuInfo(Long skuId);

    /**
     * 根据SKUID查询价格信息
     * @param skuId
     * @return
     */
    BigDecimal getSkuPrice(Long skuId);
}